home *** CD-ROM | disk | FTP | other *** search
- ****************************************************************
- MICROSOFT SQL SERVER
- ODBC-OHJAIN MICROSOFT SQL SERVERI─ VARTEN
- ASENNUKSEN LUEMINUT-TIEDOSTO, VERSIO 3.7
- ****************************************************************
-
- TΣssΣ tiedostossa kuvataan Microsoft SQL Server ODBC-ohjaimen
- version 3.7 kΣyttΣmistΣ Microsoft SQL Serverin version 6.5 tai
- edeltΣvien versioiden kanssa.
-
- Koska Microsoft SQL Server ODBC-ohjaimen versio 3.7 toimitetaan
- SQL Server version 7.0 mukana, SQL Server version 7.0 kΣyttΣjien
- tulee tΣmΣn ohjaimen osalta kΣyttΣΣ SQL Server version 7.0
- ohjemateriaaliin sisΣltyviΣ ohjeita tΣmΣn lueminut-tiedoston
- asemesta.
-
- Asiakirjassa on kΣsitelty seuraavia aiheita:
-
- 1. YleistΣ
- 2. Instcat.sql:n asentaminen palvelimeen
- 3. SQL Serverin ty÷asemaohjelman verkkokirjastojen hakeminen
- 4. LisΣtietolΣhteitΣ ODBC:n kΣyttΣmisestΣ SQL Serverin kanssa
- 5. Ohjaimen kΣyttΣminen kehitysympΣrist÷ssΣ
- 6. Yhteensopivuudesta
-
- ****************************************************************
- 1. YleistΣ
-
- Microsoft SQL Server ODBC-ohjaimen versio 3.7 on Win32 ODBC
- versio 3.51 -ohjain. TΣtΣ ohjainta voidaan kΣyttΣΣ sovellusten
- kanssa, jotka on kirjoitettu joko ODBC 2.X- tai ODBC 3.X
- -sovellusliittymiΣ varten. Ohjain toimii Microsoft SQL Server
- 4.21a:n tai uudemman version kanssa. KΣytt÷jΣrjestelmΣ voi olla
- Windows 98, Windows 95 tai Windows NT (4.0 tai uudempi).
-
- SQL Server ODBC-ohjaimen version 3.7 kanssa asennetaan my÷s
- Win32-versio SQL Server version 7.0 Client Network Utility
- -ohjelmasta. Voit kΣyttΣΣ tΣtΣ ohjelmaa Microsoft SQL Server
- 4.21a:n tai uudemman version kanssa sekΣ niiden ty÷aseman
- verkkokirjastojen kanssa, jotka toimitetaan kyseisten SQL
- Serverin versioiden mukana.
-
- ****************************************************************
- 2. Instcat.sql:n asentaminen palvelimeen
-
- SQL Server ODBC-ohjain noutaa tietoja SQL Serverin jΣrjestelmΣ-
- luettelosta jΣrjestelmΣΣn tallennettujen toimintosarjojen
- eli luetteloon tallennettujen toimintosarjojen avulla. Kukin
- SQL Server ODBC-ohjaimen versio on suunniteltu kΣyttΣmΣΣn
- tiettyjΣ luetteloon tallennettujen toimintosarjojen versioita.
-
- SQL Server ODBC-ohjaimen version 3.7 mukana toimitettu
- Instcat.sql-tiedosto pΣivittΣΣ luetteloon tallennetut
- toimintosarjat tΣmΣn ohjaimen kΣyttΣmiksi versioiksi. SQL
- Server ODBC-ohjaimen version 3.7 mukana toimitettu
- Instcat.sql-tiedosto on sama kuin SQL Server version 7.0 mukana
- toimitettu. SQL Server version 7.0 kΣyttΣjien ei tarvitse
- suorittaa Instcat.sql-tiedostoa.
-
- SQL Serverin jΣrjestelmΣnvalvojan tulee pΣivittΣΣ luetteloon
- tallennetut toimintosarjat Instcat.sql-komentosarjan
- avulla, jotta ohjain toimisi oikein. Toimintosarjojen
- pΣivittΣminen ei vaikuta vanhempien SQL Server -asiakkaiden
- toimintaan. Kaikki Microsoft SQL Serverin versiot 4.21a - 6.5
- on pΣivitettΣvΣ. SQL Server versiota 7.0 ei pΣivitetΣ.
-
- JΣrjestelmΣnvalvoja pΣivittΣΣ SQL Server version 4.21a, 6.0 tai
- 6.5 luetteloon tallennetut toimintosarjat suorittamalla
- Instcat.sql-komentosarjan isql-apuohjelman avulla (ohjeet alla).
- PΣΣtietokannasta on tehtΣvΣ varmuuskopio ennen tietojen
- muuttamista. Voit suorittaa isql-apuohjelman vain SQL Server
- -ty÷asemaksi asennetulla tietokoneella.
-
- Suorita Instcat.sql-komentosarja isql-apuohjelman avulla
- kehotteessa esimerkiksi seuraavasti:
-
- C:>ISQL /Usa /Pjv_salasana /Spalvelimen_nimi
- /isijainti\Instcat.Sql
-
- missΣ:
- jv_salasana
- on jΣrjestelmΣnvalvojan salasana.
- palvelimen_nimi
- on palvelin, johon SQL Server on asennettu.
- sijainti
- on Instcat.sql-tiedoston koko polku.
-
- Instcat.sql-komentosarja luo useita sanomia. Suurin osa nΣistΣ
- kertoo, miten monta riviΣ komentosarjan kΣynnistΣmΣt
- Transact-SQL-lauseet ovat muuttaneet. Voit ohittaa useimmat
- sanomat, mutta tarkista, ilmoittaako jokin sanoma toiminta-
- virheestΣ. Kun Instcat.sql-komentosarja suoritetaan SQL
- Serverin versiossa 6.0, voit ohittaa sanoman, joka ilmoittaa,
- ettei sp_MS_upd_sysobj_category-objektia ole olemassa. Viimeisen
- sanoman tulisi kertoa, ettΣ Instcat.sql-komentosarjan
- suorittaminen on onnistunut. Instcat.sql-komentosarja
- epΣonnistuu, jos pΣΣtietokannassa ei ole tilaa luetteloon
- tallennetuille toimintosarjoille tai entisiin toimintosarjoihin
- tehtyjen muutosten lokitiedostolle.
-
- ****************************************************************
- 3. SQL Serverin ty÷asemaohjelman verkkokirjastojen hakeminen
-
- SQL Server ODBC-ohjain muodostaa yhteyden palvelimeen SQL
- Serverin ty÷aseman verkkokirjastojen avulla. SQL Server
- ODBC-ohjain 3.7 hallitsee ODBC-tietolΣhteeseen liittyvΣΣ
- verkkokirjastoa SQL Serverin ty÷aseman mΣΣritystoiminnon avulla.
-
- SQL Server ODBC-ohjain 3.7 asentaa vain yhden verkkokirjaston:
- nimetyn putken Win32-verkkokirjaston Dbnmpntw.dll.
-
- Voit kΣyttΣΣ SQL Server ODBC-ohjaimen versiota 3.7 vanhempien
- Win32-verkkokirjastojen kanssa. Jos SQL-palvelinyhteyden
- muodostamiseen tarvitaan muuta kuin nimetyn putken verkko-
- kirjastoa, voit kΣyttΣΣ SQL Serverin mukana toimitettua verkko-
- kirjastoa. Saat SQL Serverin verkkokirjastot kΣytt÷÷si
- asentamalla Win32 SQL Serverin ty÷asematoiminnot omaan
- SQL Serverin versioosi.
-
- SQL Server ODBC-ohjaimen version 3.7 mukana asennettua SQL
- Serverin ty÷aseman mΣΣritystoiminnon versiota voi kΣyttΣΣ
- SQL Server 4.21a:n tai uudempien versioiden ty÷asemien
- verkkokirjastojen kanssa.
-
- ****************************************************************
- 4. LisΣtietolΣhteitΣ ODBC:n kΣyttΣmisestΣ SQL Serverin kanssa
-
- Koska Microsoft SQL Server ODBC-ohjaimen versio 3.7 toimitetaan
- SQL Server version 7.0 mukana, SQL Server version 7.0 kΣyttΣjΣt
- voivat tΣmΣn ohjaimen osalta kΣyttΣΣ SQL Server version 7.0
- ohjemateriaaliin sisΣltyviΣ ohjeita.
-
- Kun SQL Server ODBC-ohjaimen versiota 3.7 kΣytetΣΣn SQL Serverin
- (version 4.21a, 6.0 tai 6.5) kanssa, ohjain toimii samoin kuin
- vanhemmat ohjaimet. Voit kΣyttΣΣ kyseisen SQL Serverin version
- mukana toimitettavia ohjainkohtaisia tietoja. NΣitΣ ovat:
-
- * drvssrvr.hlp-tiedosto, joka toimitettiin SQL Serverin
- aikaisemman version mukana.
-
- * Luku "Programming ODBC for Microsoft SQL Server" SQL Server
- version 6.5 kΣytt÷oppaassa.
-
- * Painamaton paperi "Using ODBC with Microsoft SQL Server", joka
- on saatavilla MSDN:ssΣ.
-
- Microsoft SQL Server ODBC-ohjaimeen 3.7 sopivat my÷s
- ohjainkohtaiset lisΣtiedot teknisessΣ huomautuksessa "Using ODBC
- with Microsoft SQL Server", joka on saatavilla MSDN:ssΣ.
-
- SQL Server ODBC-ohjain 3.7:n mukana toimitetaan
- Sqlsodbc.hlp-tiedosto, joka sisΣltΣΣ tapauskohtaisia ohjeita
- SQL Server ODBC-tietolΣhteiden ohjatusta toiminnosta. Aiempien
- SQL Server ODBC-ohjaimien mukana toimitettu
- Drvssrvr.hlp-tiedosto sisΣltΣΣ aiempien ohjainversioiden
- tietoja. Tiedoston vanhempien versioiden tiedot ovat my÷s SQL
- Server 6.5:n oppaassa "Programming ODBC for
- Microsoft SQL Server".
-
- ****************************************************************
- 5. Ohjaimen kΣyttΣminen kehitysympΣrist÷ssΣ
-
- SQL Server ODBC-ohjain kΣyttΣΣ ohjainkohtaisia
- parametreja useissa ODBC-funktioissa. NΣiden ohjainkohtaisten
- parametrien ja C- ja C++-ohjelmointirakenteiden mΣΣritykset
- ovat Odbcss.h-tiedostossa.
-
- SQL Server ODBC-ohjain 3.7 on yhteensopiva Odbss.h-tiedoston
- kanssa. Tiedoston saa seuraavista lΣhteistΣ:
-
- * Sql Server 7.0
-
- * SQL Server 6.5 Service Pack 2 (SP2) tai uudempi
-
- * MDAC SDK
- MDAC SDK kuuluu Microsoft Developer
- Network Professional Editioniin. Voit my÷s ladata
- SDK:n Microsoftin Web-sivulta osoitteesta
- http://www.microsoft.com/data. SDK on my÷s
- Microsoft Pressin "Microsoft ODBC 3.0 Software
- Development Kit and Programmer's Reference"
- -julkaisussa.
-
- ****************************************************************
- 6. Yhteensopivuudesta
-
- Koska ODBC-ohjaimen versio 3.7 toimitetaan SQL Server version
- 7.0 mukana, SQL Server version 7.0 kΣyttΣjien tulee tarkistaa
- yhteensopivuustiedot SQL Server 7.0:n ODBC-ohjeista. TΣssΣ
- luvussa esitellyt yhteensopivuustiedot pΣtevΣt vain kΣytettΣessΣ
- tΣtΣ ohjainta SQL Serverin aikaisempien versioiden kanssa
- (4.21a, 6.0 ja 6.5).
-
- SQL Server ODBC-ohjain 3.7:ssa on uusi ohjattu toiminto, joka
- kΣynnistyy, kun liitΣt tai mΣΣritΣt tietolΣhteitΣ ODBC-hallinnan
- avulla tai kun jokin sovellus kutsuu SQLConfigDataSource
- -komentoa ja pyytΣΣ ohjainta pyytΣmΣΣn tietoja kΣyttΣjΣltΣ. Saat
- ohjeita ohjatusta toiminnosta valitsemalla Ohje-painikkeen
- ohjatun toiminnon ikkunassa.
-
- SQL Server ODBC-ohjaimen versiossa 2.65, joka toimitettiin
- SQL Server 6.5:n mukana, SQL_COPT_SS_PERF_QUERY_INTERVAL-
- toiminto kesti sekunteja eikΣ millisekunteja, kuten ohjeissa
- ilmoitettiin (katso Knowledge Base -tietokannan artikkelia
- Q157753). SQL Server ODBC-ohjaimen versiossa 3.7
- SQL_COPT_SS_PERF_QUERY_INTERVAL kestΣΣ millisekunteja, kuten
- ohjeissa ilmoitetaan.
-
- Seuraavat muutokset vaikuttavat vain sovelluksiin, jotka on
- kirjoitettu ODBC 3.X:n sovellusliittymΣn avulla. Muutokset eivΣt
- koske sovelluksia, jotka on kirjoitettu ODBC 2.X:n
- sovellusliittymΣn avulla. NΣiden muutosten ei pitΣisi vaikuttaa
- tulosjoukkojen kΣsittelyyn useimmissa ODBC-sovelluksissa.
-
- SQL Server ODBC-ohjaimen aiemmissa versioissa yhtenΣiset
- komentojonojen tai tallennettujen toimintosarjojen PRINT- tai
- RAISERROR-lauseet palauttivat sanomansa yhtenΣ tulosjoukkona.
- Versiossa 3.7 kunkin SQL-lauseen sanomat muodostavat oman
- tulosjoukkonsa. Saat seuraavan SQL-lauseen sanoman nΣytt÷÷n
- kutsumalla SQLMoreResults-funktion jokaisen sanoman jΣlkeen.
- Yhden SQL-lauseen, esimerkiksi DBCC-lauseen, sanomat muodostavat
- yhden tulosjoukon, eikΣ niiden vΣlillΣ tarvitse kutsua
- SQLMoreResults-funktiota.
-
- SQL Server ODBC-ohjaimen aiemmissa versioissa komentojonojen
- tai tallennettujen toimintosarjojen ensimmΣisessΣ lauseessa
- ilmennyt suorituksenaikainen virhe tai RAISERROR, jonka
- vakavuusaste on vΣhintΣΣn 11, aiheutti aina SQL_ERROR-virheen
- SQLExecute-, SQLExecDirect- tai SQLParamData-lauseessa.
- Versiossa 3.7 SQLExecute-, SQLExecDirect- ja SQLParamData
- -lauseet palauttavat SQL_ERROR-virhetuloksen vain siinΣ
- tapauksessa, ettΣ muita lauseita ei suoriteta ensimmΣisen
- jΣlkeen. Jos ensimmΣisen lauseen jΣlkeen suoritetaan jokin muu
- lause, kuten yksinkertainen RETURN-lause, joka ei anna tuloksia,
- SQLExecute- tai SQLExecDirect-lauseet palauttavat tuloksen
- SQL_SUCCESS_WITH_INFO. Kun olet kΣsitellyt
- SQL_SUCCESS_WITH_INFO-sanomat SQLGetDiagRec-funktion avulla,
- saat seuraavan tulosjoukon kutsumalla SQLMoreResults-lauseen.
-
- Kun ohjaimen aiemmat versiot kohtasivat virheen komentojonojen
- tai tallennettujen toimintosarjojen ensimmΣisessΣ lauseessa,
- kΣskyn kahvaa voi kΣyttΣΣ toisessa SQL-lauseessa, kun
- SQLExecute- tai SQLExecDirect-funktio palautti tuloksen
- SQL_ERROR. Kun ohjaimen versio 3.7 palauttaa tuloksen
- SQL_SUCCESS_WITH_INFO, lause ei voi kΣsitellΣ toista
- SQL-lausetta, kunnes SQLMoreResults-funktio palauttaa tuloksen
- SQL_NO_DATA tai kunnes kaikki RAISERRORia seuraavat
- tulosjoukot on suljettu. Jos virhesanomaa ei seuraa tulosjoukko,
- SQLCloseCursor-lausetta ei voi kutsua. KΣskyn kahvan voi
- vapauttaa kΣsittelemΣΣn toista SQL-lausetta kutsumalla
- SQLFreeStmt(SQL_CLOSE)- tai SQLMoreResults-funktion
- seuraavasti:
-
- CREATE PROCEDURE TestPrc @Parm1 as
- IF (@Parm1 IS NULL)
- BEGIN
- RAISERROR ('Parm1 cannot be NULL', 11, 1)
- RETURN
- END
- SELECT * FROM sysusers WHERE suid = @Parm1
- GO
-
- Suorita seuraava komento:
-
- SQLExecDirect(hstmt, "{ call TestPrc (NULL) }", SQL_NTS);
-
- Kun kΣytΣt SQL Server ODBC-ohjaimen vanhempaa versiota tai jos
- sovellus kΣyttΣΣ ODBC 2.X -sovellusliittymΣΣ, SQLExecDirect
- -funktio palauttaa tuloksen SQL_ERROR. Kun SQLGetDiagRec-funktio
- on palauttanut tuloksen SQL_NO_DATA tai SQLError on palauttanut
- tuloksen SQL_NO_DATA_FOUND, kΣskyn kahva on vapaa kΣsittelemΣΣn
- toisen SQL-lauseen.
-
- Kun SQL Server ODBC-ohjaimen versiota 3.7 kΣytetΣΣn
- sovelluksesta, joka on kirjoitettu ODBC 3.X -sovellusliittymΣn
- avulla, SQLExecDirect-funktio palauttaa tuloksen
- SQL_SUCCESS_WITH_INFO. Kun SQLGetDiagRec-funktio on palauttanut
- tuloksen SQL_NO_DATA, kΣskyn kahva ei voi kΣsitellΣ toista
- SQL-lausetta, kunnes SQLMoreResults-funktio palauttaa tuloksen
- SQL_NO_DATA tai SQLFreeStmt(SQL_CLOSE)-funktio kutsutaan.
-
- Ohjaimen aiemmissa versioissa SQLExecute-, SQLExecDirect- tai
- SQLParamData-funktio palauttaa tuloksen SQL_SUCCESS, kun
- sovellus suorittaa haetun UPDATE- tai DELETE-lauseen, jolla ei
- ole vaikutusta riveihin. TΣtΣ varten ohjaimen versio 3.7
- palauttaa edelleen tuloksen SQL_SUCCESS sovelluksiin, jotka on
- kirjoitettu ODBC 2.X -sovellusliittymΣn avulla, ja tuloksen
- SQL_NO_DATA sovelluksiin, jotka on kirjoitettu ODBC 3.X
- -sovellusliittymΣn avulla.
-
- Jos joko ODBC 2.X -sovellus, joka saa arvon SQL_SUCCESS, tai
- ODBC 3.X -sovellus, joka saa arvon SQL_NO_DATA, kutsuu
- SQLRowCount-funktion, lause palauttaa mΣΣrΣn nolla.
-
- ODBC 3.X mΣΣrittΣΣ tulosten palautustavan selvemmin kuin
- ODBC 2.X. SQL Server ODBC-ohjaimen aiemmat versiot palauttivat
- tulosparametrien ja palautuskoodien arvot, kun ODBC 2.X:n
- SQLFetch-tai SQLExtendedFetch-funktiot palauttivat tuloksen
- SQL_NO_DATA tallennetun toimintosarjan palauttamassa viimeisessΣ
- tulosjoukossa. SQL Server ODBC-ohjaimen versio 3.7 toimii
- samalla tavalla ODBC 2.X -sovellusten yhteydessΣ. Kun versiota
- 3.7 kΣytetΣΣn ODBC 3.X -sovellusten kanssa, ohjain ei palauta
- tulosparametreja eikΣ palautuskoodeja, kunnes
- SQLMoreResults-funktio palauttaa tuloksen SQL_NO_DATA.
- ****************************************************************
-